#include "Configuracion.h"


Configuracion::Configuracion(std::string path, long block_size){
	this->path = path;
	this->size_config = block_size;
	this->bloques = new ManejoDeBloques(block_size,this->path);
}

void Configuracion::serializarPrimeraHoja(int primera_Hoja, char * buffer, unsigned int &offset){
	PersistorARBOL::transformar_entero_en_char(buffer,offset,primera_Hoja);
}
void Configuracion::deserealizarPrimeraHoja(char* readData, unsigned int &offset, int& primera_Hoja){
	primera_Hoja = PersistorARBOL::obtener_entero_desde_Buffer(readData,offset);
}

void Configuracion::Guardar_Datos_Configuracion(int primera_Hoja){
	char buffer[size_config];
		for (int i = 0 ; i < size_config ; ++i){
			buffer[i] = char(0);
		}
		unsigned int offset = 0;
		serializarPrimeraHoja(primera_Hoja, buffer, offset);
		this->bloques->guardar_bloque_arbol(buffer,0);
}

void Configuracion::recuperar_Datos_Configuracion(int &primera_Hoja){
	char buffer[size_config];
		for (int i = 0 ; i < size_config ; ++i){
			buffer[i] = char(0);
		}
		this->bloques->recuperar_bloque_arbol(0,buffer);
		unsigned int offset = 0;
		deserealizarPrimeraHoja(buffer,offset,primera_Hoja);
}

Configuracion::~Configuracion() {
	delete this->bloques;
}
